Method and apparatus for automatic point of interest creator from contact list for GPS units

ABSTRACT

A GPS unit receives a list of contacts from an external source and automatically processes the list of contacts, creating a point of interest for each contact in the list of contacts and saving the created points of interest in a point of interest database.

BACKGROUND

1. Field of the Invention

The present invention relates to global positioning satellite systemsand radar detection system.

2. Description of Related Art

Positional tracking systems have been around for many years. One populartype of positional tracking system is a global positioning satellite(GPS) system. GPS systems use a network of satellites that transmitsignals to GPS receivers on the ground. The GPS receivers receive thesignals and convert the signals into physical coordinates. In recentyears, these GPS systems have become widely available for generalconsumer use. GPS systems are now available in small portable units withhigh-resolution display screens that users can take with them while theyare traveling from one place to another.

One reason for the increased popularity of these GPS systems is thatmapping software has been developed that works with the GPS coordinatesto allow users with GPS receivers to locate their current physicalpositions relative to known surroundings. Users can now navigate fromplace to place, locate restaurants and other sites of interest, and planroutes from one location to another. The mapping software usuallyincludes detailed graphical representations of streets, buildings, sitesof interest, emergency facilities, and the locations of selectedcommercial establishments. The software often includes “live” voice datato guide the user along the user's chosen route.

Most GPS systems come with software that contains points of interest(POIs) or have POIs pre-loaded on the GPS systems. POIs usuallyrepresent gas stations, parks, recreational facilities, restaurants,hotels, and similar sites of interest. In some instances, variouscompanies or organizations will maintain a database of POIs on anInternet website. These POIs may be downloaded from the website andincorporated into the list of POIs already stored on the GPS system. Inmost GPS systems, POIs remain in memory until deleted by the user oruntil overwritten by updates to the map software.

GPS systems also allow for data points called “waypoints.” Waypoints,also referred to as “via” points, are used in electronic map or GPSapplications as intended destinations and intermediate destinations, andmay be used to plot routes from one location to another. Waypoints mayalso represent side trips on a longer route. Waypoints, in general, canbe any identified location, including the coordinates for a physicallocation or an electronic map feature. Electronic map features arelocations that are associated with other information, such as, a name,an address, a telephone number, and the like, for a particular location.Waypoints must be created one at a time, and are not stored in thememory of the GPS system indefinitely. Waypoints are automaticallyremoved from the memory of the GPS system either after the route hasbeen completed, or after a short period of time. Because of thetemporary nature of waypoints, GPS systems only provide a limited amountof memory for waypoints. As such, only a limited number of waypoints maybe associated with any one route or temporarily stored on the GPS systemat any one time.

In some GPS systems, data representing personal contacts, such as datacontained in an electronic address book, may be loaded into the GPSsystem. When such contact data is loaded into a GPS system, it istreated as a waypoint. As such, the contact data is not stored in theGPS system indefinitely. Thus, the contact data must be loaded into theGPS system one item at a time. Then, because the contact data is storedas a waypoint, only a small number of contact data items can be loadedinto the GPS system, and any contact data that is loaded into the GPSsystem will only be stored temporarily. Thus, the contact data must bere-entered into the GPS system each time it is needed.

Some GPS systems also allow for the creation of data points called“favorites.” Favorites are locations that are bookmarked in the GPSsystem. Typically, favorites are created one at a time. As withwaypoints, GPS systems only provide a limited amount of memory forfavorites. Favorites can be used as starting points, destination points,or waypoints on a route. Favorites, which can be actively edited ordeleted, are semi-permanent in nature, i.e., once the number of storedfavorites reaches a maximum amount, the next new favorite will overwritea previously stored favorite.

Therefore, although the use of POIs, waypoints, and favorites representgreat strides in the functionality of GPS systems, many shortcomingsremain.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a pictorial representation of a network of data processingsystems in which exemplary aspects of the method and apparatus disclosedherein may be implemented.

FIG. 2 is a block diagram of a data processing system in which exemplaryaspects of the method and apparatus disclosed herein may be implemented.

FIGS. 3A-3E are orthographic views of one physical configuration of themethod and apparatus disclosed herein, wherein FIG. 3A is a front view,FIG. 3B is a rear view, FIG. 3C is a left side view, FIG. 3D is a rightside view, and FIG. 3E is a bottom view.

FIG. 4 is a block diagram of a system for automatically creating POIsfrom a contact list in accordance with the method and apparatusdisclosed herein.

FIG. 5 is a flowchart of the operation of automatically creating POIs ina GPS system from a group of contacts in accordance with the method andapparatus disclosed herein.

FIG. 6 is a flowchart of the operation of automatically creating POIs ina GPS system from a group of contacts in accordance with an alternateembodiment of the method and apparatus disclosed herein.

FIG. 7 is a flowchart of the operation of automatically creating POIs ina GPS system from a group of contacts in accordance with anotheralternate embodiment of the method and apparatus disclosed herein.

FIG. 8 is a flowchart of the operation of updating a list of POIs in aGPS system in accordance with the method and apparatus disclosed herein.

DETAILED DESCRIPTION

With reference now to the figures, the preferred embodiment of anapparatus 300 (see FIGS. 3A-3E) comprising a global positioning system(GPS) subsystem and a radar detection subsystem is illustrated. Theapparatus functions in a distributed data processing environment. FIGS.1 and 2 are diagrams of a data processing environment and a network dataprocessing system, respectively, in which apparatus 300 and methods ofusing apparatus 300 may be implemented.

FIG. 1 is a pictorial representation of a network of data processingsystem 100 in which aspects of apparatus 300 may be implemented. Networkdata processing system 100 comprises a network 102 of computers. Network102 is a communications medium formed by communication links betweenvarious devices and computers connected together within network dataprocessing system 100. Network 102 may include a wide variety ofconnections, such as wired, wireless communication links, fiber opticcables, infrared communication links, microwave communication links, andother types of communication connections.

In the depicted example, a server 104, another server 106, and a digitalstorage unit 108 are connected to network 102. In addition, clients 110,112, and 114 are connected to network 102. These clients 110, 112, and114 may be, for example, personal computers or network computers. In thedepicted example, server 104 provides data, such as boot files,operating system images, and applications to clients 110, 112, and 114.Clients 110, 112, and 114 are clients to server 104 in this example. Itshould be understood that network data processing system 100 may includeadditional servers, clients, and other devices not shown.

In the depicted example, network data processing system 100 is theInternet with network 102 representing a worldwide collection ofnetworks and gateways that use the Transmission ControlProtocol/Internet Protocol (TCP/IP) suite of protocols to communicatewith one another. At the heart of the Internet is a backbone ofhigh-speed data communication lines between major nodes or hostcomputers, consisting of thousands of commercial, government,educational, and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented as anumber of different types of networks, such as for example, an intranet,a local area network (LAN), or a wide area network (WAN). FIG. 1 isintended as an example, and not as an architectural limitation fordifferent embodiments.

With reference now also to FIG. 2, a block diagram of a data processingsystem 200 in which aspects of apparatus 300 may be implemented. Dataprocessing system 200 is an example of a computer, such as server 104 orclient 110 in FIG. 1, in which computer usable code or instructionsimplementing various processes for apparatus 300 may be located. In thedepicted example, data processing system 200 employs a hub architectureincluding a north bridge and memory controller hub (NB/MCH) 202 that isconnected to a south bridge and input/output (I/O) controller hub(SB/ICH) 204.

A processing unit 206, a main memory 208, and a graphics processor 210are connected to NB/MCH 202. Graphics processor 210 may be connected toNB/MCH 202 through an accelerated graphics port (AGP). In the depictedexample, a LAN adapter 212 is connected to SB/ICH 204. SB/ICH 204comprises one or more data buses, such as data bus 238 and data bus 240.Buses 238 and 240 may be implemented using any type of communicationsfabric or architecture that provides for a transfer of data betweendifferent components or devices attached to the fabric or architecture.

A wide variety of peripheral devices and components may be coupled toNB/MCH 202 and SB/ICH 204. For example, an audio adapter 216, keyboardand mouse adapters 220, a modem 222, read only memory (ROM) 224,universal serial bus (USB) ports and other communications ports 232, andPCI/PCIe devices 234, and a super I/O (SIO) device 236 may be connectedto SB/ICH 204 via bus 238. PCI/PCIe devices may include, for example,Ethernet adapters, add-in cards, and PC cards for laptop, notebook, andhandheld computers. In general, PCI cards require a card bus controller,while PCIe cards do not. ROM 224 may be, for example, a flash binaryinput/output system (BIOS). In addition, one or more hard disk drives(HDD) 226 and/or one or more compact disk-read only memory (CD-ROM)drives 230 may be connected to SB/ICH 204 via bus 240. Hard disk drive226 and CD-ROM drive 230 may use, for example, an integrated driveelectronics (IDE) interface, a serial advanced technology attachment(SATA) interface, or any other suitable interface.

An operating system runs on processing unit 206 and coordinates andprovides control of various components within data processing system200. The operating system may include an object-oriented programmingsystem that runs in conjunction with the operating system and providescalls to the operating system from specific programs or applicationsexecuting on data processing system 200. Furthermore, data processingsystem 200 may be a symmetric multiprocessor (SMP) system including aplurality of processors in processing unit 206. Alternatively, a singleprocessor system may be employed. Instructions for the operating system,the object-oriented programming system, and applications or programs,are located on storage devices, such as hard disk drive 226, and may beloaded into main memory 208 for execution by processing unit 206. Theprocesses are performed by processing unit 206 using computer usableprogram code, which may be located in a memory such as, for example,main memory 208, read only memory 224, a cache, such as is found inNB/MCH 202, or in one or more peripheral devices, such as hard diskdrive 226. In some applications, it may be desirable that dataprocessing system 200 be a personal digital assistant (PDA), which isconfigured with flash memory to provide non-volatile memory for storingoperating system files and/or user-generated data.

Those skilled in the art will appreciate that the devices and componentsdepicted in FIGS. 1 and 2 may vary depending upon the implementation.Other internal hardware or peripheral devices, such as flash memory,equivalent non-volatile memory, or optical disk drives and the like, maybe used in addition to or in place of the hardware depicted in FIGS. 1and 2. Also, the processes may be applied to a multiprocessor dataprocessing system. Thus, it should be understood that FIGS. 1 and 2 areonly exemplary and are not intended to assert or imply any limitationwith regard to the architecture or environments in which aspects orembodiments of apparatus 300 may be implemented. Furthermore, inaddition to taking the form of a PDA, data processing system 200 maytake the form of many other physical configurations, including: tabletcomputers, laptop computers, telephone devices, handheld devices, anddash-mounted devices.

In the preferred embodiment, data processing system 200 is integratedwith a GPS subsystem comprising a GPS receiver 250 and a GPS antenna252. The GPS subsystem is connected through GPS receiver 250 toprocessing unit 206 via bus 238, SB/ICH 204, and NB/MCH 202.

Referring now also to FIGS. 3A-3E in the drawings, the preferredembodiment of apparatus 300 is illustrated. Apparatus 300 includes amain power switch 302, a housing 307, a touch-screen video display 309,a GPS antenna 311, a DC power port 312, and one or more other input,output, control, and data transfer devices, including display controlbuttons 313 a and 313 b, one or more software menu buttons 315, adisplay on-off switch 317, a data transfer port 319, one or more audiospeakers 321, a microphone (not shown), an audio output port 323, and avolume control 325. A removable stylus 327 to aid in the inputting ofdata and the controlling of apparatus 300 may be releasably housed in orcoupled to housing 307. Apparatus 300 includes one or microprocessors,digital memory, and software, for controlling the function and operationof apparatus 300. Apparatus 300 may be implemented as a data processingsystem, such as data processing system 200 in FIG. 2.

Touch screen display 309 may be used to control the function andoperation of apparatus 300. Audio output port 323 may be used to connectheadphones (not shown) to apparatus 300, or to redirect audio outputsignals from apparatus 101 to other electronic devices. Data transferport 319 is preferably a universal serial bus (USB) port; however, itwill be appreciated that data transfer port 319 may be any suitablewired or wireless means for transferring digital data between apparatus300 and other electronic devices and data processing systems. GPSAntenna 311 may be extendable and retractable, for example by pivoting,twisting, folding, or telescoping, relative to housing 307. In addition,GPS antenna may include an antenna port 329 adapted to receive either anoptional external GPS antenna or an optional antenna for receiving othertypes of analog or digital signals.

Housing 307 may include various means for connecting or attachingapparatus 300 to other objects. For example, apparatus 300 may includemounting holes 331 for attaching apparatus 300 to an adjustable armsupport (not shown). The adjustable arm support may include a suctioncup member that would allow apparatus to be mounted to the windshield ofa vehicle. Housing 307 may include other suitable means for connectingapparatus 300 to other structures and devices, including mountingbrackets, tabs, clips, and slots. Furthermore, it should be understoodthat apparatus 300 may be used as a stand-alone unit or may be installedinto another device, such as a vehicle or another electrical device.

Referring now also to FIG. 4 in the drawings, a block diagram of thesystem for automatically creating POIs from a list of contacts forapparatus 300 is illustrated. A data processing system 410, which may beimplemented as data processing system 200 in FIG. 2, is showncommunicating with a GPS unit 402, which may be implemented as apparatus300 of FIGS. 3A-3E. Data processing system 410 is communicating with GPSunit 402 via a data transfer port, such as data transfer port 319 inFIG. 3E. In an exemplary embodiment, data transfer port 319 ispreferably a universal serial bus (USB) port. However, it willappreciated that the data transfer port may be implemented in variousways, including, but not limited to, any suitable wired or wirelessmeans for transferring digital data between data processing system 410and GPS unit 402, including Bluetooth, infrared signals, lasercommunication, fiber optic cables, and flash memory devices.

In the exemplary embodiment, GPS unit 402 stores data points for usewith mapping software in three databases: a waypoint database 404, afavorites database 406, and a POI database 408. However, it should beunderstood that many other ways may be suitable for organizinginformation stored by GPS unit 402. For example, instead of one POIdatabase 408, there could many separate databases or files each of whichstores a specific type of POI, such as, for example, one database forairports only, a separate database for hotels only, or even a separatedatabase for specific related POIs, such as a database for Hilton hotelsonly. Alternatively, waypoint database 404, favorites database 406, andPOI database 408, may all comprise a single database. Furthermore, whilethe exemplary embodiment shows the information regarding POIs,waypoints, and favorites as being stored as databases, many other formsof storage are possible, including, storing as data files, text files,spreadsheets, application files, tables, and so on.

There is a wide variety of software that stores contact information,such as names and addresses for people and businesses, in digitaladdress books. The data is stored in lists, files, and databases,including text files, database files, spreadsheets, xml formats, htmlformats, Java format, and e-mail and text-messaging applications, toname a few. The use of the term “address book” herein is not meant tolimit the scope of apparatus 300 or any methods of its use.

GPS unit 402 is adapted to receive data for lists of contacts andcontact information from many different types of address books. In thepreferred embodiment, the address book data is transferred from anothercomputing device to apparatus 300 via various data transfer means. Inthe preferred embodiment, the data for the list of contacts and contactinformation is transferred from the address book stored on the othercomputing device to apparatus 300 as one file, in a single batch;however, it will be appreciated that the data may be grouped togetheracross multiple files or batches. Once the contact data has beentransferred to apparatus 300, the data is converted into individual POIsand stored in a designated area of POI database 408, referred to hereinas contacts 414. In the exemplary embodiment, GPS unit 402 automaticallyprocesses and stores the data for the list of contacts and contactinformation as a batch process. In an alternate embodiment, afterreceiving the data for the list of contacts and contact information, GPSunit 402 queries the user as to whether to store the receivedinformation as POIs. In another alternate embodiment, GPS unit 402processes the received information according to user-specificinstructions, such that only selected contact information is stored asPOIs. In another alternate embodiment, GPS unit 402 pre-processes thereceived information in order to arrange the information according touser supplied requirements. As the data for the contact information issaved as POIs, graphical indicators to the location and distance to thecontacts, even those contacts that are not currently displayable on thescreen, can be shown on the video display 309.

Referring now also to FIG. 5 in the drawings, a flowchart depicting theprocedure of automatically creating POIs for a group of contacts forapparatus 300 is illustrated. The procedure begins at step 502, in whicha GPS unit, such as GPS unit 402 in FIG. 4, receives data from anexternal source. Typically, this data will be received through a datatransfer port, such as data transfer port 319 in FIG. 3E. Next, in step504, the data is tested to determine whether the data is a list ofcontacts. If the data is not a list of contacts, the procedure continueswith step 508, in which the data is appropriately processed, followed bythe ending of the procedure. On the other hand, if the data isdetermined to a list of contacts, then the procedure continues to step506, in which the user is queried as to whether the user would like tosave the list of contacts as POIs. If the user does not want to save thecontacts as POIs, the procedure continues with step 508, in which thedata is appropriately processed and the procedure ends. On the otherhand, if the user does want to save the list of contacts as POIs, theprocedure passes to step 510, in which the list of contacts is processedand saved, such that each contact in the list of contacts is saved as aseparate POI, after which, the procedure ends.

Referring now to FIG. 6 in the drawings, a flowchart of an alternativeprocedure of automatically creating POIs for a group of contacts forapparatus 300 is illustrated. The procedure of FIG. 6 is similar to theprocedure of FIG. 5, with the exception that in the procedure of FIG. 6,a POI is automatically created and saved for each contact in the list ofcontacts, without the step of user intervention. Thus, the procedurebegins at step 602, in which a GPS unit, such as GPS unit 402 in FIG. 4,receives data from an external source. Typically, this data will bereceived through a data transfer port, such as data transfer port 319 inFIG. 3E. Next, in step 604, the data is tested to determine whether thedata is a list of contacts. If the data is not a list of contacts, theprocedure continues with step 608, in which the data is appropriatelyprocessed, followed by the ending of the procedure. On the other hand,if the data is determined to a list of contacts, then the procedurepasses to step 510, in which the list of contacts is processed andsaved, such that each contact in the list of contacts is saved as aseparate POI, after which, the procedure ends.

Referring now also to FIG. 7 in the drawings, a flowchart depictinganother alternative procedure of automatically creating POIs for a groupof contacts for apparatus 300 is illustrated. The procedure begins atstep 702, in which a GPS unit, such as GPS unit 402 in FIG. 4, receivesdata from an external source. Typically, this data will be receivedthrough a data transfer port, such as data transfer port 319 in FIG. 3E.Next, in step 704, the data is tested to determine whether the data is alist of contacts. If the data is not a list of contacts, the procedurecontinues with step 708, in which the data is appropriately processed,followed by the ending of the procedure.

On the other hand, if the data is determined to a list of contacts, thenthe procedure continues to step 706, in which the user is queried as towhether the user would like to save the entire list of contacts as POIs.If the user responds in the affirmative, the procedure continues withstep 710, in which the entire list of contacts is processed and saved,such that each contact in the list of contacts is saved as a separatePOI, after which, the procedure ends. If the user responds to the queryof step 706 in the negative, i.e., the user does not want to save theentire contact list as POls, then the process continues with thefollow-up query of step 712, in which the user is asked whether shewould like to save a portion of the contact list as POIs. If the userchooses not to save any portion of the contact list as POIs, then theprocedure continues with step 708, in which the data is appropriatelyprocessed, followed by the ending of the procedure. On the other hand,if the user chooses to save one or more of the contacts in the contactlist as POIs, then the procedure passes to step 714, in which the userdetermines which contacts from the list of contacts to save as POIs. Itwill be appreciated that a wide variety of means for choosing variouscontacts from the list of contacts may be implemented, including checklists and pull-down lists. Once the user has selected which contacts toadd as POIs, the procedure passes to step 710, in which the selectedcontacts from the list of contacts is processed and saved, such thateach selected contact from the list of contacts is saved as a separatePOI, after which, the procedure ends. It should be understood that thequeries of steps 706 and 712 may be combined into a single query, suchas by having the user select “all” contacts, or by having the userselect individual contacts.

Thus, the difference between the alternative embodiments described inFIGS. 5 and 7 is that in FIG. 7, a user can choose to save only aportion of imported list of contacts as POIs. Further, the user caninput criteria for how this portion is to be determined. For example,the user may choose to create POIs for only those contacts in a certaincity, state, or zip code. Or, as another example, the list of contactsmay be sorted alphabetically by last name or first name and onlycontacts within a certain letter range will be saved as POIs. It will beappreciated that the information in a list of contacts may be parsed orsorted in many different ways in order to make it quicker and easier forthe user to select which contacts are to be saved as POIs. The presentinvention contemplates all such ways of sorting and parsing a list. Thepresent examples are not to limit exemplary embodiments in any way.

Referring now to FIG. 8 in the drawings, a flowchart depicting theprocedure of updating a list of POIs in apparatus 300 is illustrated.The procedure begins at step 802, in which a GPS unit, such as GPS unit402 in FIG. 4, receives data from an external source. Typically, thisdata will be received through a data transfer port, such as datatransfer port 319 in FIG. 3E. Next, in step 804, the data is tested todetermine whether the data is an update to existing POIs, or whether thedata will affect any POIs created as a result of importing one or morelists of contacts. If the data is not an update to existing POIs andwill not affect any POIs created as a result of importing one or morelists of contacts, the procedure continues with step 808, in which theupdate or data is appropriately processed, followed by the ending of theprocedure. On the other hand, if the data is an update to existing POIs,or if the data will affect any POls created as a result of importing oneor more lists of contacts, the procedure passes to step 806, in whichany POIs stored in database 408 that were formed as a result ofimporting a contact list, for example, contacts 414, are saved in adifferent location temporarily while the update is performed. The updateof POI database 408 takes place in step 810. Next, in step 812, afterPOI database 408 has been updated, the POIs that were created as aresult of importing lists of contacts are added to the updated POIdatabase 408, after which the procedure ends. This operation preventsany POIs added as a result of importing lists of contacts from beinginadvertently overwritten or deleted.

Thus, apparatus 300 provides significant advantages by allowing a userto create new POIs by importing an entire list of contacts in one step,as opposed to having to create each POI individually by entering thedata from each contact one at a time. Furthermore, because the contactsare saved as POIs, the information remains in memory, even throughupdates to the mapping software, until deleted by the user. Once thecontact information has been saved as a POI, it may be displayed andreferenced on video display 309 in the same manner as preloaded POIs.

The foregoing description has been presented for purposes ofillustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art.

1. A method in a data processing system for creating points of interestfor a global positioning satellite system, the method comprising thesteps of: receiving data into the global positioning satellite system;determining if the data comprises a list of contacts; receiving inputfrom a user indicating whether the user wants to save the list ofcontacts as points of interest; receiving a second input from the userindicating whether the user wants to save a portion of the list ofcontacts as points of interest; receiving additional input from the userindicating which portions of the list of contacts that the user wants tosave as points of interest; creating a point of interest for in theglobal positioning satellite system for each contact of the portion ofthe list of contacts; and saving the points of interest; wherein thestep of receiving additional user input is achieved by selecting from acriteria for parsing the portion of the list of contacts from the listof contacts, wherein the criteria includes one of a city, a state, a zipcode, and an area code.
 2. The method according to claim 1, furthercomprising the steps of: determining if the data comprises an update toexisting points of interest; responsive to a determination that the datacomprises an update to existing points of interest, storing the createdpoints of interest in a different location; updating the existing pointsof interest; and storing the created points of interest with the updatedexisting points of interest.
 3. A computer program product stored on acomputer readable medium for creating points of interest in a globalpositioning satellite system, the computer program product comprising:computer usable program code stored on the computer readable medium forreceiving data; computer usable program code stored on the computerreadable medium for determining if the data comprises a list ofcontacts; computer usable program code stored on the computer readablemedium for receiving input from a user indicating whether the user wantsto save the list of contacts as points of interest; computer usableprogram code stored on the computer readable medium for receiving asecond input from the user indicating whether the user wants to save aportion of the list of contacts as points of interest; computer usableprogram code stored on the computer readable medium for receivingadditional input from the user indicating which portions of the list ofcontacts that the user wants to save as points of interest; computerusable program code stored on the computer readable medium for creatinga point of interest in the global positioning satellite system for eachcontact of the portion of the list of contacts; computer usable programcode stored on the computer readable medium for allowing the user toselect from selected criteria for parsing the portion of the list ofcontacts from the list of contacts, wherein the criteria includes one ofa city, a state, a zip code, or an area code; and computer usableprogram code for saving the points of interest.
 4. The computer programproduct of claim 3, further comprising: computer usable program codestored on the computer readable medium for determining if the datacomprises an update to existing points of interest; computer usableprogram code stored on the computer readable medium for, in response toa determination that the data comprises an update to existing points ofinterest, storing the created points of interest in a differentlocation; computer usable program code stored on the computer readablemedium for updating the existing points of interest; and computer usableprogram code stored on the computer readable medium for storing thecreated points of interest with the updated existing points of interest.